
#ifndef INCLUDED_BASEERRORINFO_H
#define INCLUDED_BASEERRORINFO_H

#include <stdlib.h>
#include <string>

struct error_info_t {
	int code;
	const char *group;
	std::string info;
public:
	void Reset( void )
	{
		code = 0;
		group = NULL;

		info.clear();
	}
};

class BaseErrorInfo
{
public:
	BaseErrorInfo( void ) {}
	virtual ~BaseErrorInfo() {}

	virtual const char *GetErrorType( void ) = 0;
	virtual int FindError( int code, struct error_info_t &info ) = 0;
};

#endif // INCLUDED_BASEERRORINFO_H

